These are various methods for handling the issue of keeping only one dialog active at a time.
The reason for this is to prevent previous dialogs from reacting to mouse-clicks and keyPresses.

Dialog array:
	To keep track of which dialogs are active,
	an array is constructed with the highest-level (active) dialog at the end, and previous 	(inactive) dialogs before it.
	The array stores the instance name of each dialog.

* Child/Parent:
	When a new dialog is opened, the current one is deactivated.
	When a dialog is closed, its parent is re-activated.
	(this relies on new dialogs being INSIDE of old ones)